package top.bug.blog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import top.bug.blog.entity.dto.common.BatchRequest;
import top.bug.blog.entity.dto.tag.TagAddRequest;
import top.bug.blog.entity.dto.tag.TagQueryRequest;
import top.bug.blog.entity.dto.tag.TagUpdateRequest;
import top.bug.blog.entity.po.Tag;

import java.util.List;

/**
 * @author <a href="https://github.com/jiusi66">九思.</a>
 * @email 10837907@qq.com
 * @from <a href="https://www.52bug.top">递归茶馆-www.52bug.top</a>
 * @description 标签 接口
 */
public interface TagService extends IService<Tag> {

    /**
     * 获取标签列表
     */
    Page<Tag> getList(TagQueryRequest queryRequest);

    /**
     * 根据id集合获取标签集合
     */
    List<Tag> getByIds(BatchRequest batchRequest);

    /**
     * 添加标签
     */
    Boolean add(TagAddRequest addRequest);

    /**
     * 编辑标签
     */
    Boolean edit(TagUpdateRequest updateRequest);

    /**
     * 删除标签
     */
    Boolean delete(BatchRequest batchRequest);

    /**
     * 获取热门标签
     */
    List<Tag> getHotList();
}